json |
您所在的位置:网站首页 › json jsonc › json |
写好的程序调用了json-c库,但是由于json-c库是gcc编译出来的,调用libjson-c.so库的时候报错: ./lib/libjson-c.so: file not recognized: 不可识别的文件格式 于是想到json库需要交叉编译一下,具体交叉编译流程如下: 我查的网上都是sh autogen.sh,./configure编译的json,但是我下在的json库没有这些文件,可能是最新的json有修改吧,我的流程如下: 1.下载json-c库 git clone https://github.com/json-c/json-c.git 2. 新建输出目录 mkdir json-c-build cd json-c-build cmake ../json-c 3.修改txt文件 进入json-c-build,打开CMakeCache.txt文件 Vim CMakeCache.txt 修改代码: CMAKE_C_COMPILER:FILEPATH=/usr/sbin/cc 改为 CMAKE_C_COMPILER:FILEPATH=arm-linux-gcc(你的交叉编译工具) 4.编译 执行make,make install即可得到交叉编译的库。 内部变量 在CMakeCache.txt文件中指定,也可以执行make的时候作为参数传入 CMAKE_C_COMPILER:指定C编译器 CMAKE_CXX_COMPILER: CMAKE_C_FLAGS:编译C文件时的选项,如-g;也可以通过add_definitions添加编译选项 EXECUTABLE_OUTPUT_PATH:可执行文件的存放路径 LIBRARY_OUTPUT_PATH:库文件路径 CMAKE_BUILD_TYPE::build 类型(Debug, Release, ...),CMAKE_BUILD_TYPE=Debug BUILD_SHARED_LIBS:Switch between shared and static libraries |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |